﻿using System;

namespace Micro.Srv.LogCenter
{
    public class LogSearchCondition
    {

        /// <summary>
        /// 应用程序Id
        /// </summary>
        public string ApplicationId { get; set; }

        /// <summary>
        /// 日志级别
        /// </summary>
        public Microsoft.Extensions.Logging.LogLevel? LogLevel { get; set; }

        /// <summary>
        /// 日志
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 链路Id
        /// </summary>
        public string ChainId { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime LogBeginTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime LogEndTime { get; set; }

        /// <summary>
        /// 日志类型
        /// </summary>
        public string LogType { get; set; }

        /// <summary>
        /// 主机IP
        /// </summary>
        public string HostIPAddress { get; set; }

        /// <summary>
        /// 耗时（仅对TraceLog生效）
        /// </summary>
        public int? TimeSpan { get; set; }

        /// <summary>
        /// 请求接口（仅对TraceLog生效）
        /// </summary>
        public string RequestPath { get; set; }

        /// <summary>
        /// HttpCode
        /// </summary>
        public string HttpStatusCode { get; set; }

        /// <summary>
        /// Response Body
        /// </summary>
        public string ResponseBody { get; set; }

        /// <summary>
        /// Request body
        /// </summary>
        public string RequestBody { get; set; }

        /// <summary>
        /// pageIndex
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// pagesize
        /// </summary>
        public int PageSize { get; set; }
    }
}
